#include "Vertex.h"
Vertex::Vertex(float* _position) :
	m_position(_position)
{
}
Vertex::Vertex(std::vector<float>_position) :
	m_position(_position[0],_position[1],_position[2])
{
}
Vertex::Vertex(std::vector<float>_position, float uCoordinate, float vCoordinate):
	m_position(_position[0], _position[1], _position[2]),
	m_UVCoordinate(uCoordinate,vCoordinate)
{

}
Vertex::~Vertex()
{
}
DirectX::XMFLOAT3 Vertex::GetPosition()
{
	return m_position;
}
DirectX::XMFLOAT3 Vertex::GetVertexNormal()
{
	return m_vertexNormal;
}
DirectX::XMFLOAT2 Vertex::GetUVCoordinate()
{
	return m_UVCoordinate;
}
void Vertex::SetPosition(float* position)
{
	m_position = DirectX::XMFLOAT3(position);
}
void Vertex::SetPosition(std::vector<float>position)
{
	m_position = DirectX::XMFLOAT3(position[0], position[1], position[2]);
}
void Vertex::SetVertexNormal(float* _vertexNormal)
{
	m_vertexNormal = DirectX::XMFLOAT3(_vertexNormal);
}
void Vertex::SetVertexNormal(std::vector<float>_vertexNormal)
{
	m_vertexNormal = DirectX::XMFLOAT3(_vertexNormal[0], _vertexNormal[1], _vertexNormal[2]);
}
void Vertex::SetVertexNormal(float x, float y, float z)
{
	m_vertexNormal = DirectX::XMFLOAT3(x, y, z);
}
void Vertex::SetVertexNormal(DirectX::FXMVECTOR vertexNormalVector)
{
	DirectX::XMStoreFloat3(&m_vertexNormal, vertexNormalVector);
}
void Vertex::SetUVCoordinate(float u, float v)
{
	m_UVCoordinate = DirectX::XMFLOAT2(u, v);
}